The user of a telephone terminal needs to send commands to a communication server in order to have certain services beyond simply setting up telephone communications. In an analog telephone network, it is known to send commands to an automatic exchange by pressing a key or a series of keys (0 to 9, R, #, *, A, B, C, D) on the keypad of a telephone terminal. For example: the user presses the 3 key to switch to conference mode, 4 to request automatic call back, etc. Each of these digits is translated by a dual tone sent in the voice frequency band (method known as DTMF: Dual Tone Multifrequency).
In digital telephone networks with time division multiplexing, for companies, telephone terminals are known which comprise specific keys for fixed functions, but also keys known as alterable function keys, offering the user different contextual actions depending on the events occurring during a telephone communication. These alterable function keys are placed at the edge of a screen. A word, abbreviated word or an icon is displayed on this screen in proximity to each key with an alterable function, so as to inform the user of the current function of this key. The management of the assignment of the alterable functions and the display of the indications associated with the keys is fully centralized by the automatic exchange.
Technological evolution has led to voice and signaling telephone signals being routed in the form of data packets, using the Internet protocol (IP) family, in particular RTP (Real Time Transfer Protocol) for voice packets and SIP (Session Initiation Protocol) for signaling packets. In such an IP/SIP type network, it is known to send commands to a communication server by pressing, on the keypad of an SIP type telephone terminal, a key corresponding to a digit or a series of keys corresponding to a given series of digits. The IETF RFC 4730 document describes a method known as KPML (Key Press Markup Language) which is used to define and use these series of digits to control a communication server using the SIP signaling protocol.
This known KPML method uses SIP signaling protocol requests, called SUBSCRIBE and NOTIFY, to exchange messages between a communication server and a SIP type terminal when setting up each communication. Using these KPML messages, the server indicates to the terminal a set of pre-determined DTMF commands associated with a given communication, which this server is capable of receiving and interpreting. Each DTMF command consists of a press on a given key, or a series of presses on several given keys (from the keys 0 to 9, R, #, *, A, B, C, D).
If the user presses one or more keys corresponding to one of these pre-determined commands, the terminal must detect this command and notify the server. The terminal uses KPML messages to signal this press (or this series of presses on the given keys). The terminal can thus control a function in the server.